// ------------------ modal fade ------------------
.modal-fade-enter-active,
.modal-fade-leave-active{
  transition: opacity ease .2s;
}

.modal-fade-enter,
.modal-fade-leave-active{
  opacity: 0;
}

.modal-fade-enter-active .transition__container{
  animation: modal-fade-in ease .2s;
}

.modal-fade-leave-active .transition__container{
  animation: modal-fade-out ease .2s;
}

@keyframes modal-fade-in {
  0% {
    transform: translate3d(0, -20px, 0);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes modal-fade-out {
  0% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  100% {
    transform: translate3d(0, -20px, 0);
    opacity: 0;
  }
}

// ------------------ slide down ------------------
.slide-down-enter-active,
.slide-down-leave-active{
  transition: opacity ease .3s;

  .transition__container{
    transition: transform ease .3s;
  }
}

.slide-down-enter,
.slide-down-leave-active{
  opacity: 0;

  .transition__container{
    transform: translate3d(0, -40px, 0);
    backface-visibility: hidden; /*元素旋转时隐藏背面*/
    transform-style: preserve-3d; /*保留3D空间*/
  }
}

// ------------------ slide left ------------------
.slide-left-enter-active,
.slide-left-leave-active{
  backface-visibility: hidden; /*元素旋转时隐藏背面*/
  transform-style: preserve-3d; /*保留3D空间*/

  transition: opacity ease .3s,
              transform ease .3s;
}

.slide-left-enter,
.slide-left-leave-active{
  opacity: 0;
  transform: translate3d(100%, 0, 0);
}

// ------------------ collapse ------------------
.collapse-enter-active,
.collapse-leave-active{
  transition: width ease .3s,
             opacity ease .3s;
}

.collapse-enter,
.collapse-leave-active{
  width: 0 !important;
  opacity: 0;
}

// ------------------- guide -------------- 
// @keyframes rotating {
//   0% {
//     transform: rotateZ(0);
//   }

//   100% {
//     transform: rotateZ(360deg);
//   }
// }

@keyframes rotating {
  0% {
    -webkit-transform: rotateZ(0);
    transform: rotateZ(0)
  }

  100% {
    -webkit-transform: rotateZ(360deg);
    transform: rotateZ(360deg)
  }
}

// ----------------- select ----------------- 
.el-zoom-in-top-enter-active,
.el-zoom-in-top-leave-active {
  opacity: 1;
  transform: scaleY(1);
  transition: $fade-transition;
  transform-origin: center top;
}
.el-zoom-in-top-enter,
.el-zoom-in-top-leave-active {
  opacity: 0;
  transform: scaleY(0);
}